1. Field of the Invention
The present invention relates to a method for establishing a connection between electronic devices which allows the secure transmission of digital data.
2. Description of the Related Art
A large amount of digital data is currently transmitted, e.g., through mobile radio communication networks. In particular, portable electronic communication devices such as PDAs (small handheld computers) and the latest generation cell phones allow the direct downloading of suitable software, to be used in multimedia applications, from the internet. In such a way, each user may have access, at any time, to an increasing number of digitally provided services by connecting through such portable devices to appropriate remote internet servers by using the GSM, GPRS or UMTS mobile radio communications networks. Some of the services accessible for the user refer to, for example, multimedia commerce (m-commerce), banking operations (mobile banking) or simply access to Web sites.
Since the information which is transmitted between the portable devices and the remote servers is often sensitive and confidential, it is necessary to ensure its secrecy by resorting to cryptographic procedures or methods which make it inaccessible by unauthorized parties.
As is known, in the most versatile encryption methods, the information, or messages, to be transmitted are encoded through the use of two basic elements: a collection of fixed rules which constitute the cryptographic algorithm and one or more variable encryption keys. The algorithm is formed by encryption and decryption procedures which, normally, are identical to one another or are obtained by applying the same rules in an inverse order, but which may also be different. The keys are certain numbers, generally binary, or characters and, in general, are digital information. Such keys are used in order to encrypt/decrypt a clear/encrypted text thus obtaining an encrypted/clear text. Within the encryption methods currently in use, the cryptographic algorithm is known and the security of the transmission of encrypted data lies in the secrecy of the keys.
For example, in a symmetrical type encryption method, a single private or secret key is used both for encrypting and for decrypting the message to be transmitted. That assumes that the devices wishing to communicate in an encrypted manner must first exchange such private keys. Generally, the private key, generated in a random way, is exchanged through a side channel. The advantage of the private key method lies in the computational simplicity required in order to encrypt and decrypt messages.
The asymmetric, or public key encryption methods, provide the use of two distinct keys: an encryption key for encrypting the data to be transmitted and a decryption key for decrypting them. For such methods the encryption key is public, i.e., it is known or is easily obtainable from a public directory. Vice versa, the decryption key is private, i.e., secret. For example, in order to transmit a public key encrypted message to a receiver device, a sender device must encrypt that message with the receiver's known public key. The confidentiality of the message being sent is guaranteed in that only the receiver device will be able to decrypt the message by using its own private key.
Classic public key encryption methods have led to the conception of a standard security architecture known as Public Key Infrastructure PKI, which ensures a good level of security in the communication between devices, for example over the Internet. In order to encrypt messages, the current PKI methods adopt a hybrid approach, i.e., they use the public key encryption method and the symmetrical type method, simultaneously. In particular, in the hybrid approach, a transmitting device uses the public key of a receiving device (which is known) in order to encrypt a random number, called the session key. Such a session key, sent in an encrypted way to the receiving device, represents a current secret key, used by the same transmitting device in order to symmetrically encrypt the entire message to be sent to the receiving device. In accordance with the symmetrical type encryption method, the receiving device may decrypt the message received only by using the same session key with which the message has been encrypted. In the case in question, the receiving device recognizes this correct decryption key, i.e., the session key obtained by decrypting, with its own private key, the encrypted session key obtained from the transmitting device.
Conveniently, the word “user” will also be used below to indicate the generic device which transmits and receives data in an encrypted manner.
The fundamental problem with public key encryption methods is ensuring the correct and unambiguous matching between any device or user which communicates with that method and its own public key. For this purpose, the PKI infrastructure introduces the role of the Certification Authority CA. The Certification Authority for an encrypted data transmission method is a supervisory body, exterior to every user, having means of data processing, databases and their own means of data transmission. The role of such an institute is to register the public key and the identity of each user in digital certificates, thus guaranteeing the authenticity of the keys and the registered identity in the aforementioned certificates. In particular, the Certification Authority CA guarantees the authenticity of the keys and identities, attaching to such information its own “digital signature” validatable and verifiable by whosoever draws the public key from the Authority CA itself. Furthermore, the certificates underwritten by the Authority CA are published in appropriate directories, which are made freely accessible. In this way, each user may freely have access to the public key of any other user.
It is useful to observe that within the PKI infrastructure, encrypted communication using keys is preceded by a step in which the devices which communicate must, initially, reciprocally identify and authenticate one another. Particularly, each device declares its own identity by establishing with the other a communication, based upon the reliability and impartiality of the Certification Authority CA. For example, prior to the real and proper encrypted communication, an initialization step is provided wherein each device autonomously generates its own public key and its own private key. The public keys of both devices are registered with the Certification Authority CA which transfers the corresponding authentication certificates to both devices. Such certificates are stored, together with the corresponding private key, in appropriate memories internal to such devices. During a subsequent authentication step, each device in question provides its own certificate to the other, verifies the validity of the certificate obtained, and extracts from it the public key of the other device with which it wishes to establish the encrypted communication.
For the PKI infrastructure, encrypted communication may be established only if all the users of the system recognize the authority of guarantee and supervision performed by the Certification Authority CA.
A more recent alternative to the PKI is the method which is based on identity, IBE (Identity Based Encryption). The IBE method also provides the use of a public key and a private key in order to encrypt and decrypt messages, respectively. In particular, the public key is obtained by starting from a string which indicates, in an unambiguous manner, the identity of each user which receives encrypted data using IBE (for example the users taxation code), whilst the corresponding private key is provided to each user by a central authority denominated the Trusted Authority TA. The authority TA defines and makes public their own rules, i.e., for example, the mathematical functions or parameters, with which the Authority TA itself generates the encryption and decryption keys. On the basis of such rules and through a secret master key, the Trusted Authority TA generates the private key of each user starting from the corresponding identity of the user. Subsequently, this private key is transmitted to the corresponding user so that it may be stored within an internal memory of the latter, which is normally an electronic device.
The Trusted Authority TA structurally comprises means for data processing and databases in which, if necessary, the private keys assigned and transmitted to the users communicating encryptedly, are stored.
It is worthy to observe that the Trusted Authority TA does not certify the public keys which are directly obtainable from the identities of the users. Thus, each device which communicates through the IBE method must only store its own private key with a substantial saving in memory occupation.
Furthermore, with the IBE method, the authentication step between the devices is implicit: if a device can decrypt the message sent to it, it is automatically authenticated.
In addition, with the IBE method it is simpler, with respect to PKI, to create a public key having finite time duration, i.e., associated with an issue date. In other words, after a pre-arranged date, all the messages encrypted with that key will be considered to be out of date, therefore they may no longer be decrypted other than by using a new private key corresponding to a new period of validity.
Finally, the Trusted Authority TA database should always be accessible to the Police authorities. In such a manner it is possible to know, at any time, the private key of each user of the system and, in the case of necessity, decrypt their messages.
The transmission of encrypted data using keys has become an unremitting need within various fields, such as, for example, in the case of mobile telephony.
It is important to observe that the present generation of cellular phones are proper electronic platforms comprising different subsystems such as, for example, a mobile equipment, a smart card or a removable memory device.
Ultimately, it is desirable that each of such subsystems may establish encrypted communications, both with another subsystem of the same cellular phone and with another generic device such as, for example, a remote internet server.
Currently, encrypted communication between a mobile equipment and a smart card is not available.
Indeed, such devices are produced and sold by companies which are independent of one another (for example the mobile equipment manufacturing company and the mobile telephony service operator) which have different, and in some cases conflicting, market interests.
Accordingly, each of those companies accepts only limited exchange of the information contained within their own databases with others, such as for example the identification codes of the devices produced by them. Hence, the reciprocal identification and authentication steps of devices in communication, indispensable in order to achieve correct encrypted communication, are compromised.
In addition, such companies do not accept that an outside supervisory authority, such as the PKI architecture Certification Authority CA, may administer the encrypted communication protocol or the acquisition of sensitive and confidential data such as the public or private keys.
Finally, the method for transmitting encrypted data between the communicating subsystems must be transparent to the cellular phone user, i.e., they must not oblige such users to carry out complex operations.